
![ARCALVUS](https://notabug.org/Imitatory/arcalvus/raw/dev/.assets/arcalvus_logo_title.png)



<div style="text-align: center;">

  ***A simple password manager that uses GPG for encryption.
As a database, it uses just files for convenient data transfer.
By default, GPG keys are used for encryption, but you can also choose symmetric encryption.***

</div>

---


---

1. [Install](#install)
   - [apt](#apt)
   - [pacman](#pacman)
1. [Use via Python](#use-via-python)
1. [Options](#option-lists)
1. [Instructions for use](#instructions-for-use)
1. [Examples](#examples)
   - [Demo](#demo)

</br>

---

## Depends:

 - fzf
 - gnupg
 - python >= 3.10


</br>

---

</br>


## Install:

[Download the package for your system](https://notabug.org/Imitatory/arcalvus/releases)

### Apt:

```shell
apt install ./package.deb
```

### Pacman:

```shell
pacman -U package.pkg.tar.zst
```

</br>

---

</br>

## Use via Python:

```bash
git clone 'https://notabug.org/Imitatory/arcalvus'

cd arcalvus/src

python -m venv venv; source venv/bin/activate

pip install -r requirements.txt

chmod +x arcalvus

./arcalvus
```


</br>

---

</br>


## Option lists:

| flags | extendeds | deskriptions |
|----------|----------|----------|
| -p | --get-password | get password |
| -l | --get-login | get login |
| -o | --get-otp | get OTP |
| -g *\<key>* | --get *\<key>* | get value *\<key>*|
| -S *\<storage_name>*| --set-storage *\<storage_name>* | set storage name |
| -C | --create-storage | create new storage |
| --open | | open storage |
| --init | | init new config |
| --show | | show output |
| --config *\<path>* | | set config path |


</br>

---

</br>


## Instructions for use:


```shell
$HOME/.config/arcalvus/arcalvus.json  #config file
$HOME/Documents/.arcalvus             #default storage path
```

The config file is created automatically the first time the config is posted, if you want to regenerate the config use the --init option.

By default, Arcalvus uses GPG keys, which you will need to specify when creating a config file.

</br>

You can create a key with the command:
```shell
gpg --full-generate-key     #Create GPG key
gpg -k                      #List Publick keys
```

WARNING, in order to avoid errors related to keys, use as a GPG_ID not mail, but fgp, it can be found out when displaying a list of keys.

![](https://notabug.org/Imitatory/arcalvus/raw/dev/.assets/example_fpr.png)

</br>

when the first start was successful and a config file was created, You can already use 'Arcalvus', before using it you can choose a symmetric encryption algorithm, it is enabled in the config file.
```json
{
	"CIPHER": "AES256"   #AES256 Usage.
}
```

```json
{
	"CIPHER": "GPG"      #This option defaults to using keys.
}
```

```json
{
	"CIPHER": "GPG_SYM"  #Same as AES256.
}
```


**WARNING: Use only one option.**



---

</br>

### Create new storage:

```shell
arcalvus -C                #Create new storage
arcalvus -CS 'MyPassword'  #Create a storage named 'MyPassword'
```

This will open an editor where you can enter data, type 'help' for help.

---

## Examples:

### Demo:
![](https://notabug.org/Imitatory/arcalvus/raw/dev/.assets/arcalvus_demo_v1.0.gif)